package cn.kgc.mapper;

import cn.kgc.pojo.Auditstate;

import java.util.*;

import java.io.Serializable;

import cn.kgc.pojo.Company;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
/**
* 描述： 数据库访问层接口
* @author 
* @date 2018/03/05
*/
@Mapper
public interface CompanyMapper {

    /**
    * 描述：根据Id获取Company对象
    * @param
    */
    Company findById(Serializable companyId);
    /**
     * 查找状态名称
     */
    List<Auditstate> selectAllAuditstate();
    /**
    * 描述：获取所有的Company对象
    */
    List<Company> findAll();

	/**
    * 描述：新增保存Company对象
    */
    int save(Company company);

	/**
    * 描述：根据Id删除Company对象
    * @param
    */
    int delete(Serializable companyId);
	
	/**
    * 描述：更新Company对象
    */
    int update(@Param("companyId") Integer companyId,@Param("auditState") Integer auditState);
    /**
     * 根据公司ID查找公司邮箱
     */
    String seleceEmail(Integer companyId);
    /**
     * 根据不确定的条件，动态查询
     */
    List<Company> query(Object params);
    
    /**
     * 根据公司名称，动态分页查询
     */
    List<Company> queryByPage(@Param("companyName") String companyName, @Param("index")  Integer index, @Param("size") Integer size);
    /**
     * 根据公司名称，查询总行数
     */
    int getCount(String companyName);
    
    /**
     * 获得表中数据的总行数
     */
    int getTotalCount();
}
